package com.woniuxy.yoga.coach.client;

import com.woniuxy.yoga.coach.client.dto.course.AloneCourseDTO;
import com.woniuxy.yoga.coach.client.dto.course.AloneReservationDTO;
import com.woniuxy.yoga.coach.client.dto.course.OrdinaryCourseDTO;
import com.woniuxy.yoga.coach.client.dto.course.TeamCourseDTO;
import com.woniuxy.yoga.commons.core.model.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

/**
 * 课程的服务接口访问类
 */
@FeignClient(name = "course-service",path = "/course")
public interface CourseClient {

    /**
     * 教练ID查询普通课程信息
     * @param
     * @return
     */
    @PostMapping("/ordinaryCourse/getByCoachId")
    public Result<List<OrdinaryCourseDTO>> getOrdinaryByCoachId(@RequestBody List<Integer> ids);

    /**
     * 教练ID查询私教预约信息
     * @param ids
     * @return
     */
    @PostMapping("/aloneReservation/getReservationByCoachId")
    public Result<List<AloneReservationDTO>> getAloneReservationByCoachId(@RequestBody List<Integer> ids);

    /**
     * 教练ID查询私教课程
     * @param ids
     * @return
     */
    @PostMapping("/aloneCourse/getByCoachId")
    public Result<List<AloneCourseDTO>> getAloneByCoachId(@RequestBody List<Integer> ids);

    /**
     * 教练ID查询团队课程
     * @param ids
     * @return
     */
    @PostMapping("/getByCoachId")
    public Result<List<TeamCourseDTO>> getTeamByCoachId(@RequestBody List<Integer> ids);
}
